﻿/* CARICO */
function AzzeraCodiceFornitore() {
    var m_articolo = $('#formly_1_asyncselect_Articolo_0 option:selected').text();
    var m_codiceAttuale = $('#formly_1_asyncselect_CodiceFornitore_1 option:selected').text();

    var modal = bootbox.dialog({
        message: '<p><i class="fa fa-spin fa-spinner"></i> Loading...</p>',
        title: "Sostituzione codice fornitore",
        buttons: [
          {
              label: "Salva",
              className: "btn btn-primary pull-left",
              callback: function (result) {
                  var form = modal.find('form');
                  var data = form.serialize();

                  var m_articolo = $('#formly_1_asyncselect_Articolo_0').val().replace('string:', '');
                  var m_codiceAttuale = $('#formly_1_asyncselect_CodiceFornitore_1').val();
                  var m_nuovoCodice = data.replace('elencoCodici=', '');

                  CambiaCodice(m_articolo, m_codiceAttuale, m_nuovoCodice);

                  return true;
              }
          },
          {
              label: "Elimina Associazione",
              className: "btn btn-primary pull-left",
              callback: function (result) {
                  var m_articolo = $('#formly_1_asyncselect_Articolo_0').val().replace('string:', '');
                  var m_codiceAttuale = $('#formly_1_asyncselect_CodiceFornitore_1').val();

                  EliminaAssociazioneCodiceFornitore(m_articolo, m_codiceAttuale);

                  return true;
              }
          },
          {
              label: "Chiudi",
              className: "btn btn-default pull-left",
              callback: function () {
                  console.log("just do something on close");
              }
          }
        ],
        show: false,
        onEscape: function () {
            modal.modal("hide");
        }
    });

    modal.init(function () {
        setTimeout(function () {
            var m_magazzino = $('#formly_1_asyncselect_Customer_1').val().replace("string:", "");
            var m_fornitore = $('#formly_1_asyncselect_Fornitore_2').val().replace("string:", "");

            var m_articolo = $('#formly_1_asyncselect_Articolo_0 option:selected').text();
            var m_codiceAttuale = $('#formly_1_asyncselect_CodiceFornitore_1 option:selected').text();

            $('#lbl1').html('L\'articolo <b>' + m_articolo + '</b> ha assegnato il codice fornitore <b>' + m_codiceAttuale + '</b>');

            var data = [];
            data.push(m_magazzino);
            data.push(m_fornitore);
            var m_data = JSON.stringify({ parameters: data });
            //
            LoadDDL("elencoCodici", "POST", "/api/AnagraficaCodiciFornitori/LoadCodiciFornitoriAssegnabili", m_data, false, function () {
                modal.find('.bootbox-body').html($(".form-content").html());
            });
        }, 2000);
    });

    modal.modal("show");
}

function EliminaAssociazioneCodiceFornitore(articolo, codice) {
    var url = "/api/AnagraficaCodiciFornitori/EliminaAssociazioneCodice";

    var m_data = JSON.stringify({ articolo: articolo, codice: codice });

    $.ajax({
        global: true,
        type: "POST",
        url: url,
        data: m_data,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            var model = extScope.vm.model;

            if (response != null) {
                if ((response.Message !== undefined) && (response.Message != null)) {
                    $('#formly_1_asyncselect_CodiceFornitore_1').prop('disabled', false);
                    RicaricaCodiciDisponibiliFornitore('formly_1_asyncselect_CodiceFornitore_1');
                }
            } else {
                model = null;
                $('#formly_1_asyncselect_CodiceFornitore_1').prop('disabled', false);

                AzzeraDati();
            }

            extScope.$apply();
        },
        failure: function (response) {
            alert(response);
        }
    });
}

function CambiaCodice(articolo, vecchioCodice, nuovoCodice) {
    var url = "/api/AnagraficaCodiciFornitori/CambiaCodice";

    var m_data = JSON.stringify({ articolo: articolo, vecchioCodice: vecchioCodice, nuovoCodice: nuovoCodice });

    $.ajax({
        global: true,
        type: "POST",
        url: url,
        data: m_data,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            var model = extScope.vm.model;

            if (response != null) {
                if ((response.Message !== undefined) && (response.Message != null)) {
                    var url = "/api/AnagraficaCodiciFornitori/GetCodiceFornitore";

                    var m_data = JSON.stringify({ codice: nuovoCodice });

                    $.ajax({
                        global: true,
                        type: "POST",
                        url: url,
                        data: m_data,
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function (response) {
                            /* sostituisco i codici assegnabili con l'eventuale codice assegnato */
                            $('#formly_1_asyncselect_CodiceFornitore_1').empty();
                            $('#formly_1_asyncselect_CodiceFornitore_1')
                                .append($('<option></option>').val(response.Id).html(response.Codice));
                            $('#formly_1_asyncselect_CodiceFornitore_1').val(response.Id);
                            /* sostituisco i codici assegnabili con l'eventuale codice assegnato */
                        },
                        failure: function (response) {
                            alert(response);
                        }
                    });
                }
            } else {
                model = null;
                $('#formly_1_asyncselect_CodiceFornitore_1').prop('disabled', false);

                AzzeraDati();
            }

            extScope.$apply();
        },
        failure: function (response) {
            alert(response);
        }
    });
}

function RicaricaCodiciDisponibiliFornitore(controllo) {
    var m_magazzino = $('#formly_1_asyncselect_Customer_1').val().replace("string:", "");
    var m_fornitore = $('#formly_1_asyncselect_Fornitore_2').val().replace("string:", "");

    var data = [];
    data.push(m_magazzino);
    data.push(m_fornitore);
    var m_data = JSON.stringify({ parameters: data });

    LoadDDL(controllo, "POST", "/api/AnagraficaCodiciFornitori/LoadCodiciFornitoriAssegnabili", m_data, false, null, '');
}

/* SCARICO */
function AzzeraCodiceFornitore() {
    var m_articolo = $('#formly_1_asyncselect_Articolo_0 option:selected').text();
    var m_codiceAttuale = $('#formly_1_asyncselect_CodiceFornitore_1 option:selected').text();

    var modal = bootbox.dialog({
        message: '<p><i class="fa fa-spin fa-spinner"></i> Loading...</p>',
        title: "Sostituzione codice fornitore",
        buttons: [
          {
              label: "Salva",
              className: "btn btn-primary pull-left",
              callback: function (result) {
                  var form = modal.find('form');
                  var data = form.serialize();

                  var m_articolo = $('#formly_1_asyncselect_Articolo_0').val().replace('string:', '');
                  var m_codiceAttuale = $('#formly_1_asyncselect_CodiceFornitore_1').val();
                  var m_nuovoCodice = data.replace('elencoCodici=', '');

                  CambiaCodice(m_articolo, m_codiceAttuale, m_nuovoCodice);

                  return true;
              }
          },
          {
              label: "Elimina Associazione",
              className: "btn btn-primary pull-left",
              callback: function (result) {
                  var m_articolo = $('#formly_1_asyncselect_Articolo_0').val().replace('string:', '');
                  var m_codiceAttuale = $('#formly_1_asyncselect_CodiceFornitore_1').val();

                  EliminaAssociazioneCodiceFornitore(m_articolo, m_codiceAttuale);

                  return true;
              }
          },
          {
              label: "Chiudi",
              className: "btn btn-default pull-left",
              callback: function () {
                  console.log("just do something on close");
              }
          }
        ],
        show: false,
        onEscape: function () {
            modal.modal("hide");
        }
    });

    modal.init(function () {
        setTimeout(function () {
            var m_magazzino = $('#formly_1_asyncselect_Customer_0').val().replace("string:", "");
            var m_fornitore = $('#formly_1_asyncselect_Fornitore_3').val().replace("string:", "");

            var m_articolo = $('#formly_1_asyncselect_Articolo_0 option:selected').text();
            var m_codiceAttuale = $('#formly_1_asyncselect_CodiceFornitore_1 option:selected').text();

            $('#lbl1').html('L\'articolo <b>' + m_articolo + '</b> ha assegnato il codice fornitore <b>' + m_codiceAttuale + '</b>');

            var data = [];
            data.push(m_magazzino);
            data.push(m_fornitore);
            var m_data = JSON.stringify({ parameters: data });
            //
            LoadDDL("elencoCodici", "POST", "/api/AnagraficaCodiciFornitori/LoadCodiciFornitoriAssegnabili", m_data, false, function () {
                modal.find('.bootbox-body').html($(".form-content").html());
            });
        }, 2000);
    });

    modal.modal("show");
}

function CambiaCodice(articolo, vecchioCodice, nuovoCodice) {
    var url = "/api/AnagraficaCodiciFornitori/CambiaCodice";

    var m_data = JSON.stringify({ articolo: articolo, vecchioCodice: vecchioCodice, nuovoCodice: nuovoCodice });

    $.ajax({
        global: true,
        type: "POST",
        url: url,
        data: m_data,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            var model = extScope.vm.model;

            if (response != null) {
                if ((response.Message !== undefined) && (response.Message != null)) {
                    var url = "/api/AnagraficaCodiciFornitori/GetCodiceFornitore";

                    var m_data = JSON.stringify({ codice: nuovoCodice });

                    $.ajax({
                        global: true,
                        type: "POST",
                        url: url,
                        data: m_data,
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function (response) {
                            /* sostituisco i codici assegnabili con l'eventuale codice assegnato */
                            $('#formly_1_asyncselect_CodiceFornitore_1').empty();
                            $('#formly_1_asyncselect_CodiceFornitore_1')
                                .append($('<option></option>').val(response.Id).html(response.Codice));
                            $('#formly_1_asyncselect_CodiceFornitore_1').val(response.Id);
                            /* sostituisco i codici assegnabili con l'eventuale codice assegnato */
                        },
                        failure: function (response) {
                            alert(response);
                        }
                    });
                }
            } else {
                model = null;
                $('#formly_1_asyncselect_CodiceFornitore_1').prop('disabled', false);

                AzzeraDati();
            }

            extScope.$apply();
        },
        failure: function (response) {
            alert(response);
        }
    });
}

function RicaricaCodiciDisponibiliFornitore(controllo) {
    var m_magazzino = $('#formly_1_asyncselect_Customer_0').val().replace("string:", "");
    var m_fornitore = $('#formly_1_asyncselect_Fornitore_3').val().replace("string:", "");

    var data = [];
    data.push(m_magazzino);
    data.push(m_fornitore);
    var m_data = JSON.stringify({ parameters: data });

    LoadDDL(controllo, "POST", "/api/AnagraficaCodiciFornitori/LoadCodiciFornitoriAssegnabili", m_data, false, null, '');
}